Device and method for inserting captured image data into a document

ABSTRACT

A mobile device with an integrated camera responsive to signals from a camera activator. The mobile device includes application programs capable of editing documents. The user triggers the device operating system to switch from an active application program in which the user is editing a document to a camera application by activating the camera activator. The user then captures an image by again triggering the camera activator, whereupon the active application is restored and the image data is inserted within the document. The captured image is directly inserted into an input field within the open document in the active application.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 10/786,002 filed Feb. 26, 2004, and owned in common herewith.

FIELD

The present invention relates to mobile devices and, in particular, tomobile devices with integrated camera operations.

BACKGROUND OF THE INVENTION

Mobile hand-held computing devices such as personal digital assistantsand messaging enabled communications devices are rapidly growing inpopularity. More features are being incorporated into mobile hand-heldcomputing devices. For example, there are now messaging enabled mobilephones that have display screens and built-in-cameras. Such phones allowpictures taken by the camera to be displayed on screen and stored on thephone and wirelessly transmitted as digital photos.

In order to incorporate digital photographs into e-mail, memos, wordprocessing documents, tasks, contacts, or calendar entries, the userstarts a dedicated camera application on the mobile device. The userthen causes the camera to take a photograph and the resulting picture isstored as a digital file. The user then minimizes or closes the cameraapplication and starts or returns to the relevant application program,such as an e-mail program, a scheduling program, or a word processingprogram, and attaches or inserts the digital file from its storagelocation in memory.

It will be appreciated that the prior art devices require a complexseries of steps to achieve the desired result. In particular, the usermust exit an active application, take a photograph, save the photograph,re-enter the application, locate the photograph within the database orfile system, and then attach or insert the photograph into an activedocument in the application. The camera functions as a source of dataonly to a dedicated camera application, which saves the image data tomemory in a database or file system.

SUMMARY OF THE INVENTION

The present invention provides a mobile device and a method ofintegrating camera operations into a mobile device. In accordance withthe present invention, the user triggers the operating system to switchfrom an active application in which the user is editing a document to acamera application by activating a camera activator. The user thencaptures an image by subsequently activating the camera activator,whereupon the active application is restored and the image data isinserted in-line within the document.

In one aspect, the present invention provides a method of integratingcamera operations into a mobile device, the mobile device including acamera and a camera activator, the mobile device having an activeapplication and a camera application. The method includes the steps ofswitching from operation of the active application to the cameraapplication in response to detection of a first signal from the cameraactivator; and detecting a second signal from the camera activator and,in response to detection of said second signal, capturing image data viathe camera, resuming operation of the active application, and insertingsaid image data into an active document open in the active application.

In another aspect the present invention provides a mobile device. Themobile device includes a body; a processor and associated memory housedwith said body; a display screen housed within said body and responsiveto signals from said processor; a camera attached to said body forcapturing images and providing image data for said images to saidprocessor; a camera activator for providing a first signal and a secondsignal to said processor in response to user activation; and a cameralistener interface associated with said processor for switching from anactive application program to a camera application in response to saidfirst signal from said camera activator, and, in response to said secondsignal from said camera activator, resuming said active applicationprogram and passing said active application program said image data forinsertion into an active document within said active applicationprogram; whereby said camera captures said image data in response tosaid second signal.

In another aspect, the present application describes a method ofcapturing image data and inserting the image data into an activedocument on a mobile device, the mobile device including a camera, acamera activator, and a camera listener interface, the mobile devicefurther including an active application in which the active document isopen and a camera application. The method includes determining that theactive application is open in an editable mode and enabling the cameralistener interface in response thereto; and when the camera listenerinterface is enabled, receiving a first signal from the cameraactivator, suspending operation of the active application in response todetection of the first signal and invoking the camera application,detecting a second signal from the camera activator, and, in response todetection of the second signal, capturing image data via the camera, andautomatically resuming operation of the active application and insertingthe image data into the active document open in the active application.

In a further aspect, the present application discloses a mobile device.The mobile device includes a processor and associated memory, theprocessor being configured to run an active application and a cameraapplication, the active application being configured to open an activedocument; a camera for capturing images and providing image data for theimages to the processor; a camera activator responsive to useractivation; and a camera listener interface configured to be enabledwhen the active application is determined to be in an editable mode. Thecamera listener interface is further configured to detect a first signalfrom the camera activator and to cause the processor to suspend theactive application in response to the first signal from the cameraactivator. The camera listener interface is further configured to detecta second signal and, in response thereto, to cause the camera to capturethe image data and to cause the processor to resume the activeapplication and to pass the active application the image data forinsertion into the active document within the active application.

In yet another aspect, the present application discloses a handhelddevice. The handheld device includes processing means for running anactive application and a camera application, the active applicationbeing configured to open an active document; imaging means for capturingimages and providing image data for the images to the processing means;activation means responsive to user activation; and a camera listenermeans configured to be enabled when the active application is determinedto be in an editable mode. The camera listener means is for detecting afirst signal from the activation means and for causing the processingmeans to suspend the active application in response to the first signalfrom the activation means. The camera listener means includes means fordetecting a second signal and, in response thereto, causing the imagingmeans to capture the image data and to cause the processing means toresume the active application and to pass the active application theimage data for insertion into the active document within the activeapplication.

In yet a further aspect, the present application discloses a mobiledevice for capturing image data and inserting the image data into anactive document on the mobile device, the mobile device including acamera, a camera activator, and a camera listener interface, the mobiledevice further including an active application in which the activedocument is open and a camera application, the mobile device including aprocessor and memory storing processor-executable instructions. Theprocessor-executable instructions include instructions for determiningthat the active application is open in an editable mode and enabling thecamera listener interface in response thereto; and instructionsexecutable when the camera listener interface is enabled, for receivinga first signal from the camera activator, for suspending operation ofthe active application in response to detection of the first signal andinvoking the camera application, for detecting a second signal from thecamera activator, and for capturing image data via the camera inresponse to detection of the second signal, and automatically resumingoperation of the active application and inserting the image data intothe active document open in the active application.

Other aspects and features of the present invention will be apparent tothose of ordinary skill in the art from a review of the followingdetailed description when considered in conjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made, by way of example, to the accompanyingdrawings which show an embodiment of the present invention, and inwhich:

FIG. 1 shows a block diagram of an embodiment of a mobile device system;

FIG. 2 shows, diagrammatically, a front view of an embodiment of amobile device;

FIG. 3 shows, diagrammatically, a side view of an embodiment of a mobiledevice;

FIG. 4 shows, diagrammatically, a back view of an embodiment of a mobiledevice;

FIG. 5 shows, diagrammatically, a front view of a second embodiment of amobile device; and

FIG. 6 shows, in flowchart form, a method of integrating the operationof a camera and mobile device.

Similar reference numerals are used in different figures to denotesimilar components.

DESCRIPTION OF SPECIFIC EMBODIMENTS

The following description of one or more specific embodiments of theinvention does not limit the implementation of the invention to anyparticular embodiment. In particular, the present invention is notlimited to any particular operating system, mobile device architecture,mobile device form factor, or computer programming language.

Persons ordinarily skilled in the art will also understand that thereferences herein to a camera activator or, specifically, a camerabutton, are not intended to limit the present invention to anyparticular type or style of user activation or triggering device. Anyactivation device that a user is capable of manipulating in order tocause a signal to be sent to the processor may be employed in place of aconventional camera button. The terms “camera button” or “cameraactivator” herein are meant to encompass all such user activationdevices, including buttons, keys, keypad contacts, switches, dials,touch pads, touch screens, etc. In some embodiments, the “cameraactivator” may be a particular combination of keys on a keyboard,whereby such keys have been assigned the function of operating as acamera button. For example, Ctrl-Alt-C may be designated as the “cameraactivator” combination of keystrokes. The term “camera activator” isalso intended to encompass non-physical devices, including softwaretriggers, such as a dropdown menu, “softkey”, or a timer. It will alsobe understood that the term “camera activator” may refer to more thanone activator if separate activators are used to provide a first signaland a second signal, respectively.

Referring now to the drawings, FIG. 1 is a block diagram of a hand-heldcomputing device to which the present invention is applied in an exampleembodiment. In the example embodiment, the hand-held computing device isa two-way mobile communication device 10 having data and possibly alsovoice communication capabilities. In an example embodiment, the devicehas the capability to communicate with other computer systems on theInternet. Depending on the functionality provided by the device, invarious embodiments the device may be a data communication device, amultiple-mode communication device configured for both data and voicecommunication, a mobile telephone, a PDA (personal digital assistant)enabled for wireless communication, or a computer system with a wirelessmodem, among other things. In various embodiments, the present inventionmay also be applied to handheld computing devices, such as PDAs anddigital cameras, that are not enabled for communications.

In this embodiment, in which the device 10 is enabled forcommunications, the device 10 includes a communication subsystem 11,including a receiver 12, a transmitter 14, and associated componentssuch as one or more, preferably embedded or internal, antenna elements16 and 18, and a processing module such as a digital signal processor(DSP) 20. In some embodiments, the communication subsystem includeslocal oscillator(s) (LO) 13, and in some embodiments the communicationsubsystem 11 and a microprocessor 38 share an oscillator. As will beapparent to those skilled in the field of communications, the particulardesign of the communication subsystem 11 will be dependent upon thecommunication network in which the device is intended to operate.

Signals received by the antenna 16 through a wireless communicationnetwork 50 are input to the receiver 12, which may perform such commonreceiver functions as signal amplification, frequency down conversion,filtering, channel selection and the like, and in some embodiments,analog to digital conversion. In a similar manner, signals to betransmitted are processed, including modulation and encoding forexample, by the DSP 20 and input to the transmitter 14 for digital toanalog conversion, frequency up conversion, filtering, amplification andtransmission over the communications network 50 via the antenna 18.

The device 10 includes the microprocessor 38 that controls the overalloperation of the device. The microprocessor 38 interacts withcommunications subsystem 11 and also interacts with further devicesubsystems such as the display 22, flash memory 24, random access memory(RAM) 26, auxiliary input/output (I/O) subsystems 28, serial port 30,keyboard or keypad 32, speaker 34, microphone 36, a short-rangecommunications subsystem 40, and any other device subsystems generallydesignated as 42. The device 10 of the present system includes anintegral camera 44 that interacts with microprocessor 38. The device 10may also include a dedicated camera button 46 for triggering operationof the camera, as will be further described below. In some embodiments,the dedicated camera button 46 may be integrated within the keyboard orkeypad 32.

Some of the subsystems shown in FIG. 1 perform communication-relatedfunctions, whereas other subsystems may provide “resident” or on-devicefunctions. Notably, some subsystems, such as keyboard 32 and display 22for example, may be used for both communication-related functions, suchas entering a text message for transmission over a communicationnetwork, and device-resident functions such as a calculator or tasklist.

Operating system software 54 and various software applications 58 usedby the microprocessor 38 are, in one example embodiment, stored in apersistent store such as flash memory 24 or similar storage element.Those skilled in the art will appreciate that the operating system 54,software applications 58, or parts thereof, may be temporarily loadedinto a volatile store such as RAM 26. It is contemplated that receivedcommunication signals may also be stored to RAM 26.

The microprocessor 38, in addition to its operating system functions,preferably enables execution of software applications 58 on the device,A predetermined set of software applications 58 which control basicdevice operations, including at least data and voice communicationapplications for example, will normally be installed on the device 10during manufacture. Further software applications 58 may also be loadedonto the device 10 through the network 50, an auxiliary I/O subsystem28, serial port 30, short-range communications subsystem 40 or any othersuitable subsystem 42, and installed by a user in the RAM 26 or anon-volatile store for execution by the microprocessor 38. Suchflexibility in application installation increases the functionality ofthe device and may provide enhanced on-device functions,communication-related functions, or both. For example, securecommunication applications may enable electronic commerce functions andother such financial transactions to be performed using the device 10.

In a data communication mode, a received signal such as a text messageor web page download will be processed by the communication subsystem 11and input to the microprocessor 38, which will preferably furtherprocess the received signal for output to the display 22, oralternatively to an auxiliary I/O device 28. A user of device 10 mayalso compose data items within a software application 58, such as emailmessages for example, using the keyboard 32 in conjunction with thedisplay 22 and possibly an auxiliary I/O device 28. Such composed itemsmay then be transmitted over a communication network through thecommunication subsystem 11.

The serial port 30 in FIG. 1 would normally be implemented in a personaldigital assistant (PDA)-type communication device for whichsynchronization with a user's desktop computer (not shown) may bedesirable, but is an optional device component. Such a port 30 wouldenable a user to set preferences through an external device or softwareapplication and would extend the capabilities of the device by providingfor information or software downloads to the device 10 other thanthrough a wireless communication network.

A short-range communications subsystem 40 is a further component whichmay provide for communication between the device 10 and differentsystems or devices, which need not necessarily be similar devices. Forexample, the subsystem 40 may include an infrared device and associatedcircuits and components or a Bluetooth™ communication module to providefor communication with similarly enabled systems and devices. The device10 may be a handheld device.

Wireless mobile network 50 is, in an example embodiment, a wirelesspacket data network, (e.g. Mobitex™ or DataTAC™), which provides radiocoverage to mobile devices 10. Wireless mobile network 50 may also be avoice and data network such as GSM (Global System for MobileCommunication) and GPRS (General Packet Radio System), CDMA (CodeDivision Multiple Access), or various other third generation networkssuch as EDGE (Enhanced Data rates for GSM Evolution) or UMTS (UniversalMobile Telecommunications Systems).

With reference to FIGS. 2 to 4, in an example embodiment, the componentsand subsystems of mobile device 10 are housed within a hard plastic mainbody case 70 that is configured to be held with one or two hands whilethe device 10 is in use. The main body case 70 may be a single piece ofmay include two or more portions coupled together. For example, in oneembodiment, the device 10 is a “flip phone” and the main body case 70includes two portions hinged together such that the two portions may bebrought into closed contact with one another when the device 10 is notin use. The various components of the device 10 need not be located inthe same portion of the main body case 70.

The case 70 may include a hook (not shown) so that it can be secured toa user's belt or pant's top, or it may be used in conjunction with asoft case (not shown) that can be mounted to the user's belt or pant'stop and into which the mobile device 10 can be inserted for carrying.Mobile device 10 will typically be small enough to fit inside a standardpurse or suit jacket pocket. The screen 22 is visible from the front ofthe device, as is keypad or keyboard 32. The keyboard 32 includesbuttons or keys 90, 92 positioned to be actuated by the thumbs orfingers of the user. In the illustrated embodiment of FIG. 2, thekeyboard has relatively few keys, however in some embodiments, thekeyboard includes 26 or more alphanumeric and control keys.

The device 10 includes a camera activator, which in one embodiment is acamera button 46, as shown in FIG. 2. The camera button 46 need not belocated on the front of the device 10; it could be in other locations,such as on the back of the device 10 as shown in FIG. 4 (in phantom).Also seen in FIG. 4, the case 70 includes a substantially planar backwall 72, which has an opening 74 provided therethrough. A transparentlens 76 covers the opening 74, behind which the camera 44 is located.

In various embodiments, the camera 44 is located in different locationsthan on the back of the device 10, and the handheld device 10 hasdifferent configurations other than the example embodiment describedabove. For example, the camera 44 may be located facing outward from thefront of the device 10. By way of non-limiting example, FIG. 5 shows afront view of a handheld device 100 according to another embodiment ofthe invention. Device 100 is similar to device 10, however the keyboard32 of device 100 includes a thumb-activated QWERTY keyboard next towhich camera 44 is located, and the main body or case 102 of the device100 includes first and second portions 104, 106 that are pivotallymounted together. Second case portion 106 houses display 22, and thefirst case portion 104 houses the keyboard 32, which is configured forthumb typing. In hand-held device 100, the camera 44 is provided throughopening 74 on the front of the first case portion 104. The camera 44faces the same direction as the keyboard 32 for capturing images of theuser while operating the device, In such an embodiment, the camera 44may be configured to capture successive images in a video format so asto provide streamed video as a webcam.

In some embodiments, the camera is pivotally mounted to the case of thehandheld device such that it can be rotated to face in a directiondesired by the user. By way of example, a pivotally mounted camera unit108 is shown in phantom in FIG. 5. The camera unit 108 may be detachablefrom case 102.

Referring now to FIGS. 1 and 2, at least some of the softwareapplications 58 that are loaded onto the device 10 will, together withoperating system 54, implement graphical user interfaces that displaytext 82 and/or graphics 80 on the screen 22. The graphics 80 displayedby the device 10 may include digital pictures or video captured by thecamera 44. The software applications 58 may include a variety ofapplication programs, such as an e-mail program, a word processingprogram, a spreadsheet program, a calendar program, a contacts program,etc. When operating, such software applications 58 will often have anactive document open that is being composed, created, or modified by theuser. For example, a word processor may have an active document openinto which the user is typing text via the keyboard 32; an e-mailprogram may have a draft e-mail open that the user is composing; and acontacts program may have an individual's profile information file openfor modification by the user. It will be understood that the term“document” in this case is used generically to refer to any object, fileor structure having content which may be edited by the user via theassociated application program. Documents according to the presentinvention may include documents such as, but not limited to, e-mailmessages, instant messages, word processing documents, spreadsheets,contact entries, personal profiles, calendar entries, memos, taskreminders, and multimedia messages. Similarly, the terms “applicationprogram” and “software application” in this context refer to anyapplication program for creating, composing, editing, or modifyingdocuments.

The device 10 includes a camera application 56 for processing signalsreceived by the microprocessor 38 from the camera 44 and a cameralistener interface 60 for recognizing activation of the camera button 46and coordinating interoperation of the camera application 56 and anyactive software applications 58. All or parts of the camera listenerinterface 60 and/or the camera application 56 could, in variousembodiments, be integrated into the operating system 54 and/or othersoftware applications 58. In some embodiments some of the cameralistener interface functions and/or camera application functions couldbe implemented in appropriately configured hardware or firmware.

The camera listener interface 60 monitors the camera button 46. When auser activates the camera button 60, a signal is sent to themicroprocessor 38. This signal may be an interrupt signal. When thecamera listener interface 60 is invoked, it may notify themicroprocessor 38 that it will be the handler of interrupts associatedwith the camera button 46. Thereafter, when the camera button 46 ispressed, the camera listener interface 60 is notified.

The camera listener interface 60 responds to activation of the camerabutton 46 in at least two ways. When the camera button 46 is firstactivated, the camera listener interface 60 causes the operating system54 to interrupt or pause operation of the active software application58. The operating system 54 then invokes an instance of the cameraapplication 56, if one is not already running in the background. Thecamera application 56 may be invoked in a temporary viewfinder mode,wherein the display 22 functions as a viewfinder displaying the imagesbeing received by the photosensors within the camera 44. Using theviewfinder mode, the user can position the camera 44 so as to frame theimage or view desired, In this mode, there may be additional functionsor operation that the user may have available, including a zoom functionor various settings, such as contrast, flash, red-eye reduction, etc.

With the camera application 56 active and functioning in a viewfindermode, the user positions the device 10 such that the camera 44 isfocused upon the desired scene or view. The user then activates thecamera button 46 so as to capture the image seen by the camera 44. Uponactivating the camera button 46, the camera application 56 receivesimage data from the camera 44 corresponding to the image received by thecamera 44 at the time the camera button 46 is activated. The cameraapplication 56 creates an image object containing the image datacaptured by the camera 44. In some embodiment, the image data may besaved in a file in memory.

The activation of the camera button 46 also triggers the camera listenerinterface 60 to cause the operating system to close or minimize thecamera application 56 and to return to the active software application58. Upon returning, the active software application 58 is passed theimage object created by the camera application 56, and the image objectis inserted in-line within the active document. For example, a digitalimage captured by the camera 44 would be inserted into the open email,word processing document, contact profile, or calendar event at thelocation where the cursor was when the operation of the softwareapplication 58 was suspended. It will be understood that active softwareapplication 58 is capable of handling image data and the documentincludes input fields that allow for the input of graphic elements, suchas digital images.

Accordingly, while a user is editing or creating a document using theactive software application 58, the user can instantly and seamlesslyswitch the device 10 to a camera mode by simply activating the camerabutton 46. By activating the camera button 46 again while in the cameramode, an image is captured and inserted into the open document that theuser was editing or creating, and control is then returned back to theactive software application 58 to allow the user to continue editing orcreating the document.

In some embodiments, the functioning of the camera listener interface 60may only be enabled when there is a software application 58 active andwhen that active software application 58 has a document open in aneditable mode. Accordingly, prior to triggering the invocation of thecamera application 56, the camera listener module 60 may be configuredto perform a check to determine if there is an active softwareapplication 58, whether that active software application 58 is of a typethat is capable of handling image data, and whether that active softwareapplication 58 is in an ‘editing mode’, meaning that a document is openand able to accept image data. In such an embodiment, the cameralistener module 60 may be configured to ignore the activation of thecamera button 46 if an appropriate document and software application 58are not active on the device 10. Alternatively, the active softwareapplication 58 may be configured to invoke the camera listener interface60 when it enters an editing mode, thereby ensuring that the cameralistener interface 60 only functions when an appropriate softwareapplication 58 is active and in an editing mode. In such an embodiment,the active software application 58 may disable or close the cameralistener interface 60 when the software application 58 exits its editingmode, such as when the user begins manipulating pull down menus orotherwise renders the open document inactive. Those of ordinary skill inthe art will understand from the present description that other methodsor mechanisms may be employed to ensure the camera listener interface 60is enabled when an active application has a document open with an activeinput field capable of receiving image data.

Reference is now made to FIG. 6, which shows, in flowchart form, amethod 200 for integrating camera operations into a mobile device. Thefirst step 202 of the method 200 is to provide for an active softwareapplication 58 (FIG. 1) operating in an editing mode, As discussedabove, this may condition may be checked by the camera listenerinterface 60 (FIG. 1) or the camera listener interface 60 may only beinvoked by the active software application 58 entering the editing mode.Those of ordinary skill in the art will appreciate that there arevarious mechanisms or arrangements to test for this condition or toensure that it is met.

In step 204, the operating system 38 (FIG. 1) receives an activationsignal from the camera button 46 (FIG. 1), indicating that the user hastriggered the camera button 46. The operating system 38 notifies thecamera listener interface 60 that the camera button 46 has beenactivated and, in step 206, the camera listener interface 60 instructsthe operating system 38 to suspend or switch away from operation of theactive application. Then in step 208, the camera application 56 (FIG. 1)is invoked to permit the user to utilize the device 10 (FIG. 1) in acamera mode.

A second activation signal is received in step 210 when the useractivates the camera button 46 while the device 10 is in camera mode. Instep 212, in response to the activation of the camera button 46, thecamera 44 (FIG. 1) and the camera application 56 capture an image. Theimage may be stored as image data within an image object in memory. Theimage data may also or alternatively be stored within a file in memory.

In step 214, also in response to the second activation signal from thecamera button 46 received in step 210, the camera listener interface 60causes the operating system 38 to restore or switch back to the activesoftware application 58, and the image captured in step 212 is inserteddirectly into an input field in an active document open within theactive software application 58. Then, in step 216, the operating system38 returns control to the active software application 58 to continueoperation in the editing mode.

Accordingly, using the above-described method 200, the camera 44functions as an “always-available” input device that can be used toembed images and image data into documents on the fly.

An example of a simplified code listing for implementing a program toperform, at least in part, the method 200 is provided below:

// Set up the camera application public class CameraEnabledApp {  //Instantiate the application and start listening for operating systemevents  public static void main( )  {   CameraEnabledApp myApp = newCameraEnabledApp( );    //Create an instance of the camera application   theApp.enterEventDispatcher( );   //Wait for events  }  //Main classfor the application. Here a new screen is created and displayed  publicCameraEnabledApp( )  {    pushScreen(new ApplicationScreen( ));   //Whenthe           application starts, create a           new screen anddisplay it  } } //Logic for the application screen. This implements // aCameraListener that will allow events from the camera to be captured.class AppliationScreen implements CameraListener, KeyboardListener { public ApplicationScreen( )  {     add(new TextImageField( ))   //Addan input field to        the screen; the input field accepts        textor images  }  // This method from the CameraListener interface isinvoked when a camera event occurs.  public onCameraEvent(ImagemyCaputredImage)  {     //This method is invoked when the CameraListeneris implemented and the user presses the camera key     //In thisspecific instance, the image data (myCapturedImage) is added to theTextImageField.   TextImageField.addObject(myCapturedImage);  }  } }

Those of ordinary skill in the art will appreciate that, although theforegoing specific embodiments refer to the camera listener interface 60as being embodied as an application programming interface (API), thepresent invention is not limited to such an API. The functions andoperations of the camera listener interface 60 may be embodied withinthe operating system 38, the basic input output system (BIOS), thesoftware application 58, or otherwise.

The present invention is not limited to a particular processorarchitecture, operating system, or computer programming language. Anylimitations presented as a result of specific architectures, operatingsystems, or computer programming languages are not intended aslimitations of the present invention.

The present invention may be embodied in other specific forms withoutdeparting from the spirit or essential characteristics thereof, Certainadaptations and modifications of the invention will be obvious to thoseskilled in the art. Therefore, the above discussed embodiments areconsidered to be illustrative and not restrictive, the scope of theinvention being indicated by the appended claims rather than theforegoing description, and all changes which come within the meaning andrange of equivalency of the claim is are therefore intended to beembraced therein.

1. A method of capturing image data and inserting the image data into anactive document on a mobile device, the mobile device including acamera, a dedicated camera button, and a camera listener interface, themobile device further including an active application in which theactive document is open and a camera application, the method comprising:determining that the active application is open in an editable mode andenabling the camera listener interface in response thereto; and when thecamera listener interface is enabled, receiving a first signal from thededicated camera button, suspending operation of the active applicationin response to detection of the first signal and invoking the cameraapplication, detecting a second signal from the dedicated camera button,and in response to detection of said second signal, capturing image datavia the camera, and automatically resuming operation of the activeapplication and inserting said image data in-line into said activedocument open in the active application.
 2. The method claimed in claim1, wherein the mobile device further includes a processor and thededicated camera button is configured to generate an interrupt onactivation, and wherein the steps of receiving the first signal andreceiving the second signal comprise receiving a first interrupt signalat the processor and receiving a second interrupt signal at theprocessor, respectively, and wherein enabling the camera listenerinterface includes registering the camera listener interface with theprocessor as handler of interrupt signals from the dedicated camerabutton.
 3. The method claimed in claim 2, wherein receiving the firstinterrupt signal and receiving the second interrupt signal includenotifying the camera listener interface.
 4. The method claimed in claim1, wherein determining includes determining that the active document hasan active input field capable of receiving image data.
 5. The methodclaimed in claim 1, wherein suspending includes activating the cameraapplication in a viewfinder mode.
 6. The method claimed in claim 1,wherein said active document includes a document selected from the groupincluding an e-mail message, an instant message, a word processingdocument, a spreadsheet, a contact entry, a personal profile, a calendarentry, a memo, a task reminder, and a multimedia message.
 7. The methodclaimed in claim 1, wherein said step of capturing image data includescreating an image object containing said image data.
 8. The method claimin claim 7 wherein said step of inserting includes passing said imageobject to said active application, whereupon said active applicationinserts said image data within an input field in said active document.9. The method of claim 1 wherein the active application has a cursor ata location in the active document, and wherein inserting said image datain-line into said active document comprises inserting said image data atthe location of the cursor when the operation of the active applicationwas suspended.
 10. A mobile device, comprising: a processor andassociated memory, the processor being configured to run an activeapplication and a camera application, the active application beingconfigured to open an active document; a camera for capturing images andproviding image data for said images to said processor; a dedicatedcamera button responsive to user activation; and a camera listenerinterface configured to be enabled when the active application isdetermined to be in an editable mode, and wherein the camera listenerinterface is further configured to detect a first signal from saiddedicated camera button and to cause the processor to suspend the activeapplication in response to said first signal from said dedicated camerabutton, and, wherein the camera listener interface is further configuredto detect a second signal from the dedicated camera button and, inresponse thereto, to cause the camera to capture the image data and tocause the processor to resume said active application and to pass saidactive application said image data for in-line insertion into the activedocument within said active application.
 11. The mobile device claimedin claim 10, wherein the dedicated camera button is configured togenerate an interrupt on activation, and wherein the camera listenerinterface is configured to be registered with the processor as handlerof interrupt signals from the dedicated camera button when the activeapplication is determined to be in editable mode.
 12. The mobile deviceclaimed in claim 10, wherein said camera application outputs an imageobject containing said image data, and wherein said camera listenerinterface invokes said camera application in response to said firstsignal.
 13. The mobile device claimed in claim 12, wherein said cameraapplication is invoked in a viewfinder mode, whereby said display screenoutputs an image corresponding to a view through said camera.
 14. Themobile device claimed in claim 10, wherein said active document includesa document selected from the group including an email message, aninstant message, a word processing document, a spreadsheet, a contactentry, a personal profile, a calendar entry, a memo, a task reminder,and a multimedia message.
 15. The mobile device claimed in claim 10,wherein said camera listener interface is incorporated within anoperating system associated with said processor.
 16. The mobile deviceof claim 10, wherein the active application includes a cursor at alocation in the active document, and wherein the processor passes saidactive application said image data for in-line insertion into the activedocument at the location of the cursor when the active application wassuspended.
 17. A handheld device, comprising: processing means forrunning an active application and a camera application, the activeapplication being configured to open an active document; imaging meansfor capturing images and providing image data for said images to saidprocessing means; a dedicated camera button responsive to useractivation; and a camera listener means configured to be enabled whenthe active application is determined to be in an editable mode, andwherein the camera listener means is for detecting a first signal fromsaid dedicated camera button and for causing the processing means tosuspend the active application in response to said first signal fromsaid dedicated camera button, and, wherein the camera listener meansincludes means for detecting a second signal from the dedicated camerabutton and, in response thereto, causing the imaging means to capturethe image data and to cause the processing means to resume said activeapplication and to pass said active application said image data forin-line insertion into the active document within said activeapplication.
 18. The handheld device of claim 17, wherein the activeapplication includes a cursor at a location in the active document, andwherein the processing means passes said active application said imagedata for in-line insertion into the active document at the location ofthe cursor when the active application was suspended.
 19. A mobiledevice for capturing image data and inserting the image data into anactive document on the mobile device, the mobile device including acamera, a dedicated camera button, and a camera listener interface, themobile device further including an active application in which theactive document is open and a camera application, the mobile deviceincluding a processor and memory storing processor-executableinstructions, the processor-executable instructions comprising:instructions for determining that the active application is open in aneditable mode and enabling the camera listener interface in responsethereto; and instructions executable when the camera listener interfaceis enabled, for receiving a first signal from the dedicated camerabutton, for suspending operation of the active application in responseto detection of the first signal and invoking the camera application,for detecting a second signal from the dedicated camera button, and forcapturing image data via the camera in response to detection of saidsecond signal, and automatically resuming operation of the activeapplication and inserting said image data in-line into said activedocument open in the active application.
 20. The mobile device of claim19, wherein the active application includes a cursor at a location inthe active document, and wherein the instructions for inserting saidimage data in-line into said active document include instructions forinserting said image data at the location of the cursor when the activeapplication was suspended.